/*
package com.demo.connectdbtest.report;

import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.itextpdf.text.BaseColor;
import com.itextpdf.text.Chunk;
import com.itextpdf.text.Document;
import com.itextpdf.text.DocumentException;
import com.itextpdf.text.Font;
import com.itextpdf.text.PageSize;
import com.itextpdf.text.Paragraph;
import com.itextpdf.text.Phrase;
import com.itextpdf.text.Rectangle;
import com.itextpdf.text.pdf.BaseFont;
import com.itextpdf.text.pdf.PdfDocument;
import com.itextpdf.text.pdf.PdfPCell;
import com.itextpdf.text.pdf.PdfPTable;
import com.itextpdf.text.pdf.PdfWriter;
import lombok.extern.slf4j.Slf4j;
import org.springframework.util.CollectionUtils;

import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.util.ArrayList;
import java.util.List;
import com.itextpdf.kernel.font.PdfFont;
import com.itextpdf.kernel.font.PdfFontFactory;
import com.itextpdf.kernel.geom.Rectangle;
import com.itextpdf.kernel.pdf.PdfDocument;
import com.itextpdf.kernel.pdf.PdfWriter;
import com.itextpdf.layout.Document;
import com.itextpdf.layout.element.Cell;
import com.itextpdf.layout.element.Paragraph;
import com.itextpdf.layout.element.Table;
import com.itextpdf.layout.property.UnitValue;

import java.io.File;
import java.io.IOException;
import java.util.ArrayList;
import java.util.List;

@Slf4j
public class ReportTestController {



        private static final float MIN_COLUMN_WIDTH = 50; // 最小列宽
        private static final float MAX_COLUMN_WIDTH = 200; // 最大列宽
        private static final PdfFont FONT = PdfFontFactory.createFont(); // 使用默认字体

        */
/**
         * 根据内容自动调整表格列的宽度并导出到 PDF 文件。
         *
         * @param fileName        导出的 PDF 文件名
         * @param tableData       表格数据，二维数组形式
         * @param header          表格的标题行
         * @param pageWidth       页面宽度
         * @param pageHeight      页面高度
         * @throws IOException    如果导出过程中发生 I/O 错误
         *//*

        public static void exportTableWithAutoColumnWidths(String fileName, Object[][] tableData, Object[] header,
                                                           float pageWidth, float pageHeight) throws IOException {
            PdfDocument pdfDoc = new PdfDocument(new PdfWriter(new File(fileName)));
            Document doc = new Document(pdfDoc, new Rectangle(pageWidth, pageHeight));

            Table table = new Table(new float[] {UnitValue.createPercentValue(100)}); // 初始列宽设置为 100%
            for (Object[] rowData : tableData) {
                table.addCell(createCell(rowData[0])); // 假设每行数据只有一个元素
            }

            // 根据内容调整列宽
            adjustColumnWidths(table, pageWidth);

            // 添加表头
            if (header != null) {
                for (Object headerCellContent : header) {
                    table.addHeaderCell(createCell(headerCellContent));
                }
            }

            // 将表格添加到文档中
            doc.add(table);

            // 关闭文档
            doc.close();
        }

        */
/**
         * 根据内容自动调整表格列的宽度。
         *
         * @param table           表格对象
         * @param availableWidth  可用宽度
         *//*

        private static void adjustColumnWidths(Table table, float availableWidth) {
            // 这里仅实现一个简化逻辑：将宽度平均分配给所有列
            // 在实际应用中，你可能需要更复杂的逻辑来根据内容长度分配宽度
            int numColumns = table.getNumberOfColumns();
            float columnWidth = availableWidth / numColumns;
            for (int i = 0; i < numColumns; i++) {
                table.setColumnWidth(i, UnitValue.createPointValue(Math.max(MIN_COLUMN_WIDTH, Math.min(columnWidth, MAX_COLUMN_WIDTH))));
            }
        }

        */
/**
         * 创建一个单元格，并设置其内容。
         *
         * @param content 单元格内容
         * @return        创建的单元格对象
         *//*

        private static Cell createCell(Object content) {
            Cell cell = new Cell();
            Paragraph p = new Paragraph(String.valueOf(content));
            p.setFont(FONT);
            cell.add(p);
            return cell;
        }




}
*/
